Method of identifying a source of a software distribution between portable computer systems

ABSTRACT

A system and method of identifying a source of a software distribution between portable computer systems. A user of a first hand held computer may transfer software, for example operating system extensions, application programs and data sets etc. to a second hand held computer. This transfer may occur wirelessly. An identification token which may identify the source of the software distribution may also be transferred, and further transferred from the second hand held computer to an “e commerce” web site in an automatic manner. In this novel manner, the sources of software distribution of respective files among many hand held computer users, may be identified to the website. This may result in wider distribution of both information about available software and the software itself, and a multi-order multiplication of economic effects in the hand held industry, while overcoming many deficiencies in the prior art of software distribution for hand held computers.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of application Ser. No.10/133,016, entitled “METHOD OF SOFTWARE DISTRIBUTION AMONG HAND HELDCOMPUTERS VIA FILE SHARING WITH LINK REFERENCES TO A WEB SITE FORCOMPLETE SOFWARE VERSIONS”, filed Apr. 26, 2002, to be issued as U.S.Pat. No. 7,260,646, which is a continuation-in-part application ofapplication Ser. No. 10/058,173, entitled “METHOD OF SOFTWAREDISTRIBUTION BETWEEN PORTABLE COMPUTER SYSTEMS”, filed Jan. 25, 2002,and both assigned to the assignee of the present application. Thesubject matter in the above-identified co-pending and commonly ownedapplications is incorporated herein by reference.

FIELD OF THE INVENTION

Embodiments of the present invention relate to hand held computersystems. More particularly, embodiments of the present invention providea method and apparatus for distributing software used on hand heldcomputer systems.

BACKGROUND ART

The success of the hand held computer has resulted in an explosion ofavailable software programs for use on hand held computers. For example,Palm, Inc. reports that over 11,000 commercial software applications areavailable for use on hand held computer systems running the Palmoperating system. These applications are available from a large numberof different sources.

Unfortunately, finding a particular application program to fit one'sneeds can be an arduous process. Typically, a user may access, via a webbrowser on a desktop computer, a website devoted to hand heldapplication software. A search engine with access to information on someof the 11,000 application titles may help a user to narrow the availablechoices based on various criteria. If the user discovers an interestingapplication, he or she may select to preview a trial or demonstrationversion of the program. However, using this software distributionchannel has drawbacks. Firstly, it is difficult to locate the desiredsoftware through the vast amount of titles offered. Secondly, thedownload and synchronization process can be challenging to novice usersand involves an intermediate desk top computer system.

Generally, the program files may be downloaded from the website to theuser's desktop computer. If the user has all of the appropriate software(e.g., expansion utilities and synchronization software) installed onthe desktop computer, the application program files may be scheduled toload at the next synchronization session between the desktop computerand the hand held computer.

The user generally must then synchronize the desktop computer and thehand held computer. As a part of this process, the application programfiles may be transferred to the hand held computer. Importantly, thesynchronization process is general, and typically transfers a widevariety and vast amount of information between the two computer systems.The information transferred is not limited to the application programfiles, but may also include, for example, data such as address list anddate book entries that have changed on either system since the lastsynchronization. Consequently, the synchronization session may takelonger than would be required simply to transfer the application programfiles.

The requirement of the desktop computer system in this scenario placesnumerous obstacles in the path between a user wanting a function and anapplication program which may provide for those needs. First, thedesktop computer must have the appropriate software installed andoperational (e.g., web browser, synchronization software, expansionsoftware, web connectivity). Secondly, the desktop computer must beconnected to the internet. For the majority of users, this remains arelatively slow dialup connection. The speed of the connection may serveto impede a user's acceptance of this process. Additionally, downloadingsoftware from the internet and installing it onto a hand held computeris not presently an automated process. A user must manually control anumber of steps to perform this task, which is a barrier to many users.Further, the shear number of applications competing for exposure makesit difficult to find the “good” ones.

Moreover, retail sale of software for hand held computers does notalways apply or is not always effective because software for hand heldcomputers tends to be a relatively low priced product. A retail marketmust change a high mark-up on software to cover the retail overhead. Asa result, retailers usually don't have the motivation to reservevaluable shelf space for low priced software for hand held computers.

SUMMARY OF THE INVENTION

Therefore, it would be advantageous to provide a method and system forthe distribution of software for hand held computers that does notrequire an intermediate desktop computer. A further need exists for amethod that tracks a source of a software distribution. A still furtherneed exists for a method of crediting, rewarding and encouraging usersfor their role in a software distribution.

Embodiments of the present invention provide for the distribution ofsoftware for hand held computers without requiring an intermediatedesktop computer. Still further, embodiments of the present inventionprovide for tracking a source of a software distribution. Yet otherembodiments of the present invention provide a method of crediting usersfor their role in a software distribution.

A system and method of identifying a source of a software distributionbetween portable computer systems are disclosed. A user of a first handheld computer may transfer software, for example, operating systemextensions, application programs and data sets, to a second hand heldcomputer. This transfer may occur wirelessly. An identification tokenmay also be transferred. An identification token may identify the sourceof the software distribution. An identification token may be furthertransferred from the second hand held computer to an “e commerce” website in an automatic manner while authorizing features of the software.In this novel manner, the source of a software distribution, for example“beaming” an application program from one hand held computer to anotherhand held computer, may be identified to a website that was not involvedin the aforementioned software distribution. Further, a user, notdirectly involved in a web site transaction but who otherwisefacilitated the transaction, may be provided an incentive to distributesoftware among a circle of contacts. This incentive may be a reward forinitiating the transaction. This may result in wider distribution ofboth information about available software and the software itself, and amulti-order multiplication of economic effects in the hand heldindustry, while overcoming many deficiencies in the prior art ofsoftware distribution for hand held computers.

Another embodiment of the present invention provides for transferring anidentification token via a memory card. An identification token may be acomputer readable bit pattern, which may represent numbers, symbols orcombinations thereof, which is designed to identify a source of a filetransfer.

In one embodiment of the present invention, a manufacturer of a handheld computer may assign an identification token. In another embodimentof the present invention, a web site may assign an identification token.

In another embodiment of the present invention, the software transfer isaccomplished via infrared light. In yet another embodiment of thepresent invention, the transfer takes place via Bluetooth.

According to one embodiment of the present invention, a software titlemay have a demonstration or trial version along with the fullyfunctional version. In response to a request to transfer the programfrom the first hand held computer to the second hand held computer, thedemonstration or trial version only is transferred according to theembodiment. The title does not become fully functional until payment ismade to the software distributor or developer. Payment may then releasea code that in turn causes the demonstration version to become fullyoperational.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computer system, which may be used as aplatform to implement embodiments of the present invention.

FIG. 2 illustrates a communication between a first wireless hand heldcomputer and a second wireless hand held computer, according to anembodiment of the present invention.

FIG. 3 illustrates a display screen as may be used by a user of a handheld computer system to demark files, according to an embodiment of thepresent invention.

FIG. 4 illustrates a flow diagram of a method for software distribution,according to an embodiment of the present invention.

FIG. 5A illustrates a display screen as may be used by a user of asecond hand held computer system for selecting files.

FIG. 5B illustrates a display image depicting exemplary summaryinformation on a file, according to an embodiment of the presentinvention.

FIG. 6 illustrates a flow diagram of a method for software distribution,according to an embodiment of the present invention.

FIG. 7 illustrates a flow diagram of a method of software distribution,according to an embodiment of the present invention.

FIG. 8 illustrates an arrangement by which a hand held computer maycommunicate via the internet with a website, according to an embodimentof the present invention.

FIG. 9 illustrates a flow diagram of a process for identifying a sourceof a software distribution, according to an embodiment of the presentinvention.

FIG. 10 illustrates a flow diagram of a method of identifying a sourceof a software distribution, according to an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the present invention, methodof identifying a source of a software distribution between portablecomputer systems, numerous specific details are set forth in order toprovide a thorough understanding of the present invention. However, itwill be recognized by one skilled in the art that the present inventionmay be practiced without these specific details or with equivalentsthereof. In other instances, well-known methods, procedures, components,and circuits have not been described in detail as not to unnecessarilyobscure aspects of the present invention.

Notation and Nomenclature

Some portions of the detailed descriptions which follow (e.g., processes200, 500, 700, 900 and 1000) are presented in terms of procedures,steps, logic blocks, processing, and other symbolic representations ofoperations on data bits that can be performed on computer memory. Thesedescriptions and representations are the means used by those skilled inthe data processing arts to most effectively convey the substance oftheir work to others skilled in the art. A procedure, computer executedstep, logic block, process, etc., is here, and generally, conceived tobe a self-consistent sequence of steps or instructions leading to adesired result. The steps are those requiring physical manipulations ofphysical quantities. Usually, though not necessarily, these quantitiestake the form of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated in a computersystem. It has proven convenient at times, principally for reasons ofcommon usage, to refer to these signals as bits, values, elements,symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the followingdiscussions, it is appreciated that throughout the present invention,discussions utilizing terms such as “indexing” or “processing” or“computing” or “translating” or “calculating” or “determining” or“scrolling” or “displaying” or “recognizing” or “generating” or“demarking” or “transferring” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

Method of Identifying a Source of a Software Distribution BetweenPortable Computer Systems

Embodiments of the present invention are described in the context of ahand held computer system. However, it is appreciated that the presentinvention may be utilized in other types of computer systems where itmay be necessary or desirable to distribute the task of distributingapplication programs and/or data files.

FIG. 1 is a block diagram of a portable, e.g., hand held, computersystem 100, which may be used as a platform to implement embodiments ofthe present invention. Computer system 100 includes an address/data bus10 for communicating information, a central processor 20 functionallycoupled with the bus for processing information and instructions, avolatile memory 30 (e.g., random access memory RAM) coupled with the bus10 for storing information and instructions for the central processor 20and a non-volatile memory 25 (e.g., read only memory ROM) coupled withthe bus 10 for storing static information and instructions for theprocessor 20. Computer system 100 also optionally includes a changeable,non-volatile memory 35 (e.g., flash) for storing information andinstructions for the central processor 20 which can be updated after themanufacture of system 100.

Also included in computer system 100 of FIG. 1 is an optionalalphanumeric input device 45. Device 45 can communicate information andcommand selections to the central processor 20. Device 45 may take theform of a touch sensitive digitizer panel.

The optional display unit 40 utilized with the computer system 100 maybe a liquid crystal display (LCD) device, cathode ray tube (CRT), fieldemission device (FED, also called flat panel CRT), light emitting diode(LED), plasma display device, electro-luminescent display, electronicpaper or other display device suitable for creating graphic images andalphanumeric characters recognizable to the user.

Computer system 100 also optionally includes an expansion interface 50coupled with the bus 10. Expansion interface 50 can implement many wellknown standard expansion interfaces, including without limitation theSecure Digital card interface, universal serial bus (USB) interface,Compact Flash, Personal Computer (PC) Card interface, CardBus,Peripheral Component Interconnect (PCI) interface, mini-PCI interface,IEEE 1394, Small Computer System Interface (SCSI), Personal ComputerMemory Card International Association (PCMCIA) interface, IndustryStandard Architecture (ISA) interface, or RS-232 interface. It isappreciated that external interface 50 may also implement other wellknown or proprietary interfaces, such as Memory Stick interface,commercially available from Sony Corporation.

In one embodiment of the present invention, expansion interface 50 mayconsist of signals substantially compliant with the signals of bus 10.

A wide variety of well known expansion devices may be attached tocomputer system 100 via expansion interface 50. Examples of such devicesinclude without limitation rotating magnetic memory devices, flashmemory devices, digital cameras, wireless communication modules, digitalaudio players and Global Positioning System (GPS) devices.

System 100 also optionally includes a communication port 55.Communication port 55 may be implemented as part of expansion interface50. When implemented as a separate interface, communication port 55 maytypically be used to exchange information with other devices viacommunication-oriented data transfer protocols. Examples ofcommunication ports include without limitation RS-232 ports, universalasynchronous receiver transmitters (UARTs), USB ports, infrared lighttransceivers, ethernet ports, IEEE 1394 and synchronous ports.

System 100 optionally includes a radio frequency module 60, which mayimplement a mobile telephone, a pager, or a digital data link. Radiofrequency module 60 may be interfaced directly to bus 10, viacommunication port 55 or via expansion interface 50.

System 100 optionally includes an infrared (IR) light signalingtransceiver 70. IR transceiver 70 may typically be coupled to acommunication port, for example communication port 55. It is appreciatedthat there are other well known arrangements of IR port 70, includingconnection directly to bus 10. IR port 70 may serve to communicate withother computer systems over short range, line of sight paths. IRtransceiver 70 may be compliant with Infrared Data Association (IrDA)standards.

FIG. 2 illustrates a communication between a first wireless hand heldcomputer 120 and a second wireless hand held computer 150, according toan embodiment of the present invention. Both computer system 120 and 150may be similar to hand held computer system 100. Computer system 120 andcomputer system 150 may be in wireless communication with each other.The wireless communication may be via radio, for example Bluetooth orIEEE 802.11, or via infrared light. It is appreciated that other formsof communication, including well known wireless and wired forms ofcomputer communication, are well suited to embodiments of the presentinvention.

Wireless communication 124 is a request from computer system 120 tocomputer system 150 for summary information on computer files stored oncomputer system 150. Files for which summary information is availablemay be application programs, operating system extensions, data sets andother well known computer file types. Wireless communication 124 may bea general or “broadcast” message intended for any hand held computersystem within communication range. Wireless communication 124 may beautomatically initiated in a variety of well know manners, for examplein response to a Bluetooth inquiry message from hand held computer 150,a communication request from hand held computer 150 or on a periodic orrandom time basis. Wireless communication 124 may also be initiated inresponse to a user command.

In response to wireless communication 124, hand held computer 150 mayrespond with wireless communication 154. Wireless communication 154 maycontain summary information on computer files stored on computer system150. Wireless communication 154 may also be initiated by a user.

Summary information contained in wireless communication 154 may includedescriptive information regarding a set of files contained in device150. This descriptive information may include rating information,computer file title, a user summary, summary and promotional informationprovided by the file developer, a universal resource locator, URL, forfurther information on the file, file size, estimated transfer time forthe file and other well known information about computer files.

A user of hand held computer 120 may review such summary information andselect a subset of files listed as available on hand held computer 150for transfer to hand held computer 120. Wireless communication 126, fromhand held computer 120 to hand held computer 150, may be a request for alist of files to be transferred from hand held computer 150 to hand heldcomputer 120.

Wireless communication 156, from hand held computer 150 to hand heldcomputer 120, may be a transfer of requested computer files from handheld computer 150 to hand held computer 120. Wireless communication 156may be initiated automatically in response to the receiving of wirelesscommunication 126. Wireless communication 156 may include demonstrationor trial versions of application programs.

FIG. 3 illustrates a display screen 300 as may be used by a user of ahand held computer system, for example display unit 40 of hand heldcomputer system 100, to demark computer files. Demarking a computer fileallows the demarked file to be included in the software distributionmechanisms of the present invention. Unmarked files may remain private,and are not eligible to be transferred via the process shown in FIG. 2.

Display element 310 of FIG. 3 may list available files, includingapplication programs, operating system extensions and data set files,that are available on a first hand held computer. In the example ofdisplay image 300, the files are listed in a vertical column, including“BombJack,” “Fileman,” and “X-Master.”

Display element 320 may be a rating assigned to a corresponding file.For example, “BombJack” is depicted as having a rating of three stars.Rating may originate from users, developers, etc.

Display element 330 may be the storage or memory requirements or “size”of the corresponding file. For example, “BombJack” is listed asrequiring “146K.” A typical unit of size may be bytes, or “K” (i.e.kilobytes=1024 bytes).

Display element 340 may be an icon to indicate that there is additionalinformation available for the corresponding file. For example, “Joust”is shown as having additional information available. Such additionalinformation may include a user-generated summary of the file, e.g.,“This is a really cool version of the well known game ‘BomberMan.’” Thiscapability allows users of a hand held computer to act as a “salesperson” for a piece of software (program, dataset, etc.) Auser-generated summary may be persuasive if there is already arelationship between two hand held computer users. Additionalinformation may also include material from the originator of the file,e.g., the writer or developer of an application. Such information mayinclude advertising material, e.g., “Plays Faster! Awe-inspiringGraphics!,” and a universal resource locator, URL, of the developer'swebsite.

Display element 350 may be a “check box” associated with each availablefile. A user may select, or demark, a file by touching the input device,for example alpha-numeric input device 45, substantially over one thecheck boxes. Check box 360 illustrates a visual feedback of displaying a“check” symbol within the box in response to such a user touch action.

FIG. 4 illustrates a flow diagram of a method 200 for softwaredistribution, according to an embodiment of the present invention.

In step 210, a user may demark or select files on a first hand heldcomputer system, for example by touching check boxes 350 of FIG. 3. Itis appreciated that any well known method of selecting files on handheld or other types of computer systems may be used at this step.

In step 220, information about the files selected or demarked in step210 may be transferred to a second hand held computer system. Theinformation transferred may include the file title, rating, file size,estimated transfer time, additional summary information such as userreviews, developer's comments and URLs. It is appreciated thattransferring other types of information are also well suited toembodiments of the present invention. Importantly, the file itself isnot generally transferred at this time.

According to an embodiment of the present invention, the transfer ofinformation in step 220 may be directly from a first hand held computerto a second hand held computer. According to another embodiment of thepresent invention, the transfer of information in step 220 may beindirect. For example, summary information from a first hand heldcomputer may be transferred to a third hand held computer (not shown).In step 220, summary information from, or originating with, the firsthand held computer may be transferred from the third hand held computerto a second hand held computer.

The amount of information about a file transferred at step 220 istypically substantially smaller than the file itself. Consequently, itmay take very much less time to transfer compared to the file itself,and storing the received information generally will not impose a burdenon the receiving device.

Step 220 may be initialized by user action, either on the first handheld computer system or on the second hand held computer system.According to an embodiment of the present invention, this step may beautomatically initiated when the two systems are brought intocommunication range according to a communication protocol. Thisautomatic initiation is particularly well suited to Bluetoothcommunications, but it is to be appreciated that other well known formsof communication, including IR, IEEE 802.11 and RS-232, are well suitedto embodiments of the present invention.

FIG. 5A illustrates a display screen 400 as may be used by a user of asecond hand held computer system, for example display unit 40 of handheld computer system 100, for selecting files.

Display element 410 may list files, including application programs,operating system extensions and data set files, that have been selectedas available by a user of a first hand held computer. Information forsuch a list may have been transferred to a second hand held computer asa result of process 200. In the example of display image 400, the filesare listed in a vertical column, including “BombJack,” “Fileman,” and“SFCave.” This list may generally represent the information about filestransferred from a first hand held computer system.

Display element 420 may be a rating assigned to a corresponding file.For example, “BombJack” is depicted as having a rating of three stars.

Display element 430 may be the size of the corresponding file. Forexample, “BombJack” is listed as requiring “146K.” A typical unit ofsize may be bytes.

Display element 440 may be an icon to indicate that there is additionalinformation available for the corresponding file. For example, “Joust”is shown as having additional information available. Such additionalinformation may include a user-generated summary of the file, e.g.,“This is a really cool version of the well known game ‘BomberMan.’”Additional information may also include material from the originator ofthe file, e.g., the writer of an application. Such information mayinclude advertising material, e.g., “Plays Faster! Awe-InspiringGraphics!,” and a universal resource locator, URL, of the developer'swebsite.

FIG. 5B illustrates display image 480 depicting exemplary summaryinformation on the file “Joust,” as may be displayed in response to auser selecting additional information icon 440, according to anembodiment of the present invention. Display element 482 of image 480may be a user generated summary or recommendation of the file.

Display element 484 may be a universal resource locator, URL, of aninternet web site containing more information on the file. Displayelement 486 may be an estimated transfer time for the particular file.Display element 488 may be the storage or memory requirements of thefile.

Referring once again to FIG. 5, display element 450 may be a “check box”associated with each available file. A user may select, or demark, afile by touching the input device, for example alpha-numeric inputdevice 45, substantially over one the check boxes. Check box 460illustrates a visual feedback of displaying a “check” symbol within thebox in response to such a user touch action.

A user of a second hand held computer system may choose, or select fromthis listing files to be received from the first hand held computersystem. In response to selecting files, the files that are selected bythe user of the second hand held computer system may be automaticallytransferred from the first computer system. The transfer may beinitiated in response to marking the check box of each file, or thetransfers may be consolidated by the user touching the “get” button 470to complete his selection activity.

According to an embodiment of the present invention, one type of filethat may be received is a demonstration, trial or limited functionalityversion of an application program. A “demo” version may provide limitedfunction or a limited time of use to encourage a user to purchase thefully featured version of the application. Importantly, by transferringa demo version of an application as opposed to a fully featured version,many intellectual property rights of the application developer may bemaintained.

The demo version and/or other information transferred from the firsthand held computer system to the second hand held computer system mayinclude instructions on how to purchase or upgrade to a fully functionalversion of the program. This frequently takes the form of a pointer to auniversal resource locator, URL, of a developer's website.

FIG. 6 illustrates a flow diagram of a method 500 for softwaredistribution, according to an embodiment of the present invention.

In step 210, a user may demark or select files on a first hand heldcomputer system, for example by touching check boxes 350 of FIG. 3. Itis appreciated that there are other well known methods of selectingfiles on hand held or other types of computer systems.

In step 220, information about the files selected or demarked in step210 may be transferred to a second hand held computer system. Theinformation transferred may include the file title, rating, file size,estimated transfer time, additional information such as user reviews,developer's comments and URLs. It is appreciated that transferring othertypes of information are also well suited to embodiments of the presentinvention. Importantly, the file itself is not generally transferred atthis time.

The amount of information about a file will typically be ofsubstantially less size than the file itself. Consequently, it may takevery much less time to transfer compared to the file itself, and storingthe received information generally will not impose a burden on thereceiving device.

Step 220 may be initialized by user action, either on the first handheld computer system or on the second hand held computer system.According to an embodiment of the present invention, this step may beautomatically initiated when the two systems are brought intocommunication range. This automatic initiation is particularly wellsuited to Bluetooth communications, but it is to be appreciated thatother well known forms of communication, including IR, IEEE 802.11 andRS-232, are well suited to embodiments of the present invention.

In step 530, a user of a second hand held computer system may selectfiles from a list of files transferred from a first hand held computersystem. Typically, although not necessarily, such a user may base aselection choice on the information transferred, such as a supplied userreview. A display screen as shown in FIG. 4 may facilitate thisselection. However, it is to be appreciated that other well known meansof selecting items from a list are well suited to embodiments of thepresent invention.

In step 540, the files selected by a user of a second hand held computer(step 530, above) may be automatically transferred from a first handheld computer system to a second hand held computer system. Typically,this file transfer is made using the same communication techniques asemployed in step 220, although this is not required.

As discussed above in relation to process 200, according to anembodiment of the present invention, the transfer of information in step220 may be directly from a first hand held computer to a second handheld computer.

According to another embodiment of the present invention, the transferof information in step 220 may be indirect. For example, summaryinformation from, or originating with, a first hand held computer may betransferred to a third hand held computer (not shown). In step 220,summary information from the first hand held computer may be transferredfrom the third hand held computer to a second hand held computer.

In a similar manner, in step 540 selected files may be transferred tothe second hand held computer from the third hand held computer. It isto be appreciated that the files transferred to the second hand heldcomputer may not originate on the first hand held computer. For example,the third hand held computer may have obtained the selected filesindependently of the first hand held computer, for example via a websitedownload.

In this novel manner, software, e.g., application programs, operatingsystem extensions and data sets, may be distributed among a set ofusers. Prior to selection of files, a user will typically receive morepertinent information regarding such files that through prior arttechniques. In addition, since the distribution of information about thefiles may be automated, a user will generally have greater exposure to awider variety of file offerings, e.g., the recommended computer files ofmany hand held users, rather than information filtered through a limitednumber of websites. Further, the actual distribution is performedautomatically and without the complexities of intervening desktopcomputer systems or the internet.

Referring once again to FIG. 2, according to another embodiment of thepresent invention, an identification token may accompany the filetransfer from device 150 to device 120. For example, wirelesscommunication 156 may transfer one or more requested computer files andan identification token.

An identification token may be a computer readable bit pattern, whichmay represent numbers, symbols or combinations thereof, which isdesigned to identify a source of a file transfer. Such an identificationtoken may be assigned to a specific hand held device by the devicemanufacturer, as a serial number, name, identification value or thelike. Identification tokens may also be assigned by a website, forexample upon registering with an “e commerce” website for hand heldcomputer software. Another exemplary website is one created by or forthe developer of an application program.

An identification token may also be assigned to a particular user of ahand held device rather than the device itself.

An identification token generally may be unique among all hand helddevices. Some communication protocols, for example Bluetooth, assign adevice identifier to a device participating in a communication.According to an embodiment of the present invention, an identificationtoken may be a communication device identifier or it can be independentof the communications protocol.

FIG. 7 illustrates a flow diagram of a method 700 of softwaredistribution, according to an embodiment of the present invention.

In step 710, a computer file is transferred (e.g., transfer 156 of FIG.2) from a first hand held computer system to a second hand held computersystem. The transfer may be made in a variety of well known ways,including via Bluetooth wireless communications, infrared (IR) light,IEEE 802.11 and RS-232, according to embodiments of the presentinvention. According to another embodiment of the present invention, thefile transfer may also take place via a memory card or other well known“physical” media, for example rotating magnetic media. For example, afile may be stored on a media functionally connected with a first handheld computer system and then the media may be functionally connectedwith a second hand held computer. With a memory card, this may typicallymean moving a card from one system to another.

In step 720, an identification token is transferred from a first handheld computer system to a second hand held computer system. Thistransfer may generally take place in close time proximity to the filetransfer of step 720, and may typically use the same communication mediadescribed above.

The receiving hand held computer may store the identification token ofthe sending device and associates the identification token with thereceived program or data. If multiple files are received from the samesending hand held computer, then the token may be associated with eachfile received and stored. The identification token therefore indicatesthe source of the received files from the stand point of the receivinghand held computer system.

FIG. 8 illustrates an arrangement 800 by which a hand held computer maycommunicate via the internet with a website, according to an embodimentof the present invention.

Hand held computer 810, for example hand held computer 100, may befunctionally connected with a cradle 815, for example via the RS-232communications protocol via communications port 45 of FIG. 1. Cradle 815may be functionally connected to communications bus 845. Well knowcommunication busses, for example RS-232, ethernet and universal serialbus (USB) are well suited to embodiments of the present invention.

Desktop computer 850 or laptop computer 840 may be functionallyconnected to communication bus 845 via arrangements similar to thosedescribed above.

Typically, although not always, hand held computer 810 may be configuredto communicate with laptop computer 840 or desktop computer 850, but notdirectly to the internet 830. Handheld computer 810 may lack certainsoftware, for example network protocol stacks or device drivers, and/orphysical features, for example a telephone modem, required tocommunication directly with the internet.

Typically, although not always, laptop computer 840 or desktop computer850 may be connected to the internet 830 via a second communicationschannel (not shown). Well known communication channels for connection tothe internet include ethernet, digital subscriber lines (DSL) andtelephone modems.

In addition, hand held computer 860, desktop computer 850 and/or laptopcomputer 840 may participate in a wireless network 860, allowing forcommunication among desktop hand held computer 860, desktop computer 850and/or laptop computer 840, or directly with the internet 830 though awireless gateway (not shown). Well known wireless networks are wellsuited to embodiments of the present invention, including local or shortrange networks such as Bluetooth and IEEE 802.11, as well as wide areanetworks such as the Bell South Mobility Mobitext packet radio network,CDPD, CDMA and GPRS.

Arrangement 800 may allow hand held computer 810 to exchange informationwith website 820 via the internet. According to an embodiment of thepresent invention, a website may be viewed as a set of well knowncomputer implemented services in addition to the computer hardwaresupporting such services.

It is to be appreciated that “pushing” information from a website to ahand held computer, for example via arrangement 800, is well suited toembodiments of the present invention. Examples of information which maybe pushed include information on new applications and sales andmarketing promotional material, which may encourage users to participatein embodiments of the present invention.

FIG. 9 illustrates a flow diagram of a process 900 for identifying asource of a software distribution, according to an embodiment of thepresent invention.

In step 910, an identification token sent from a first hand heldcomputer may be received by a second hand held computer. The receptionmay be made in a variety of well known ways, including via Bluetoothwireless communications, infrared (IR) light, IEEE 802.11 and RS-232,according to embodiments of the present invention. According to anotherembodiment of the present invention, the file reception may also takeplace via a memory card or other well known “physical” media, forexample rotating magnetic media. For example, an identity token may bestored on a media functionally connected with a first hand held computersystem and then the media may be functionally connected with a secondhand held computer. With a memory card, this may typically mean moving acard from a first hand held computer to a second hand held computer.According to an embodiment of the present invention, step 910 may takeplace on a hand held computer system.

In step 920, the identification token received in step 910 may betransferred or sent from a second hand held computer to a website, forexample via arrangement 800 of FIG. 8. According to an embodiment of thepresent invention, a hand held computer may receive the identificationtoken and transfer that token to a website. It is to be appreciated thatother types of well known computer systems are well suited toembodiments of the present invention.

According to an embodiment of the present invention, step 910 may takeplace in a variety of well known information transfer techniques,including wirelessly, via Bluetooth, via infrared (IR) light or via amemory card, for example PCMCIA cards or Secure Digital cards.

According to an embodiment of the present invention, a computer systemmanufacturer or a web site may assign an identification token, forexample an “e commerce” web site used for distributing software for handheld computers. It is appreciated that other well known methods ofassigning an identification token to a hand held computer system arewell suited to embodiments of the present invention.

A website may use an identification token and file identificationinformation to also gather that a first hand held computer system,associated with an identification token, sent a file to a second handheld computer system. This information may be recorded in memory of thewebsite server.

In this novel manner, the source of a software distribution, for example“beaming” an application program from one hand held computer to anotherhand held computer, may be identified to a website that was not eveninvolved in the aforementioned software distribution.

FIG. 10 illustrates a flow diagram of a method 1000 of identifying asource of a software distribution, according to an embodiment of thepresent invention. In step 1010, an identification token may be receivedat a web site, for example at an “e commerce” web site for thedistribution of software for hand held computers.

In step 1020, an identification token may be associated with a usercorresponding to a particular hand held computer. It is appreciated thata variety of well known methods of associating a user with anidentification token, for example data bases and look-up tables, arewell suited to embodiments of the present invention.

According to an embodiment of the present invention, a user may beregistered with a website.

In optional step 1030, a credit may be assigned to a user. According toan embodiment of the present invention, the credit may, for example, bea reward for distributing a copy of a particular piece of software.Further, according to an embodiment of the present invention, a creditmay be assigned to a user in response to features of a computer filebeing authorized or enhanced.

For example, if a first user distributed a trial version of anapplication program to a second user, and if the second user linked to aweb site and purchased, for example, or otherwise enabled features ofthe application not generally available in a trial version, the firstuser may receive a credit for his role in the second user's transaction.It is to be appreciated that many well known types of transactions andcredit arrangements are well suited to embodiments of the presentinvention.

Table 1 below illustrates a portion of an exemplary table in a websitememory for recording and tabulating the number of times a particulardevice, as represented by an identification token, has transferred aparticular program to a subsequent hand held computer system and thatsubsequent hand held computer system has connected with the website,according to an embodiment of the present invention.

TABLE-US-00001 TABLE 1 Token Program Name Credited Transfers 35A21 Joust12 35A21 Giraffe 3 256B12 Joust 29

For example, Table 1 shows that hand held computer “35A21” hastransferred the program “Joust,” which may have been a demonstrationversion of the program, to other hand held computers a total of 12times. According to an embodiment of the present invention, it may benecessary for the receiving hand held computer system to connect to aweb site in order for the first hand held computer system, in thisexample “35A21” to receive credit for the transfer. Likewise, system“35A21” has also been credited with transferring the program “Giraffe” atotal of three times. Also, Table 1 shows that a different hand heldcomputer system, identified as “256B12” has been credited withtransferring “Joust” 29 times.

Table 2 below illustrates a portion of an exemplary table in a websitememory for recording and tabulating hand held to hand held softwaredistributions, according to an embodiment of the present invention.

TABLE-US-00002 TABLE 2 Program Name Transfer Type Number Joust Bluetooth7563 Joust IR 32768 Joust MMC/SD 15 Joust Total 40346 Reptoids IR 1

For example, the fifth line of Table 2 shows that the program “Joust”has been transferred a total of 40,346 times. According to an embodimentof the present invention, it may be necessary for the receiving handheld computer system to connect to a web site in order for the softwaredistribution to be recorded on a website, for example in the form ofTable 2.

Table 2 may be broken down into a listing by type of transfer, forexample by Bluetooth, infrared light or by physically moving a MultiMedia Card or Secure Digital card. The information in Table 2 and otherwell known types of information that may be collected about softwaredistribution may be made available to software developers, web siteoperators and hand held computer manufactures for a variety of wellknown purposes, including marketing and incentive programs.

In this novel manner, the source of a software distribution, for example“beaming” an application program from one hand held computer to anotherhand held computer, may be identified to a website that was not eveninvolved in the aforementioned software distribution. Further, a user,not directly involved in a web site transaction, may be provided anincentive to distribute software among a circle of contacts. Thisresults in wider distribution of both information about availablesoftware and the software itself, and a multi-order multiplication ofeconomic effects in the hand held industry, while overcoming manydeficiencies in the prior art of software distribution for hand heldcomputers.

The preferred embodiment of the present invention, a system and methodfor software distribution, is thus described. While the presentinvention has been described in particular embodiments, it should beappreciated that the present invention should not be construed aslimited by such embodiments, but rather construed according to the belowclaims.

1. A method of software distribution comprising: a) transferring acomputer file from a first hand held computer system to a second handheld computer system via a communication protocol; and b) transferringan identification token from said first hand held computer system tosaid second hand held computer system via said communication protocol,wherein said identification token is stored in said second hand heldcomputer system and identifies said first hand held computer as thesource of said computer file, and wherein said identification token isindependent of said communication protocol, and wherein saididentification token is associated with a software referral program todownload data to said second hand held computer system, wherein saiddata is software selected from the group consisting of operating systemextension, application program, and data sets.